// 多态:父类型的引用执行子类型的对象，不同类型的对象针对相同的方法，产生不同的行为
(() => {
    // 定义一个父类
    class Animal {
        // 定义一个尚需经
        name: string
        // 定义一个构造珊瑚
        constructor(name: string) {
            this.name = name
        }
        // 实例方法
        run(distance) {
            console.log(`跑了${distance}这么远大大距离`);
        }
    }

    // 定义一个子类
    class Dog extends Animal {
        constructor(name: string) {
            super(name)
        }
        // 实例方法，重写父类中的方法
        run(distance: number = 0) {
            console.log(`跑了${distance}这么远的距离`);

        }
    }
})()